package study04;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Java10_map {
    public static void main(String[] args) throws Exception {
//       HashMap
        HashMap<String, String> map = new HashMap();

//        增加
        map.put("zs", "1");
        map.put("ls", "2");
        map.put("ww", "3");

//        查询
        System.out.println(map.get("zs"));
//        删除
//        map.remove("ls");
        map.remove("ls", "2"); // 只有 key = ls 和 value = 2 时就会删

//        修改
        map.put("ww", "4");

//        如果没有就添加，有就什么都不干
        map.putIfAbsent("b", "66");
        map.putIfAbsent("b", "77");

//        修改
        map.replace("b", "77");

        System.out.println(map);

//        判断有没有这个 key
        System.out.println(map.containsKey("zs"));
//        判断有没有这个 value
        System.out.println(map.containsValue("4"));


//        获取所有的 key
        Set set = map.keySet();
        System.out.println(set);
        for (Object o : set) {
            System.out.println("key: " + o + ", " + "value: " + map.get(o));
        }

//        获取所有的 value
        Collection values = map.values();
        System.out.println(values);

//        获取键值对对象
        Set<Map.Entry<String, String>> entries = map.entrySet();
        System.out.println(entries);
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry);
        }
    }
}
